package com.valuegroup.smarttodo.data.model;

import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.NotNull;

import java.io.Serializable;
import java.util.Date;

import org.greenrobot.greendao.annotation.Generated;

/**
 * 习惯打卡日志
 * （打卡才有记录）
 */
@Entity
public class HabitEvent implements Serializable {
    private static final long serialVersionUID = 4363652229138954864L;
    @Id(autoincrement = true)
    private Long id;
    // 清单与习惯关系主键
    private Long rid;
    // 清单主键
    private Long oid;
    // 习惯主键
    private Long hid;
    // 事件计划执行周 201901
    @NotNull
    private Integer scheduleWeekNum;
    // 事件计划执行时间
    @NotNull
    private Date scheduleDt;
    // 已打卡
    private Boolean finish;
    // 打卡时间
    private Date clockInDate;

    @NotNull
    private Date createdDt;
    @NotNull
    private Date updatedDt;
    @Generated(hash = 952101640)
    public HabitEvent(Long id, Long rid, Long oid, Long hid,
            @NotNull Integer scheduleWeekNum, @NotNull Date scheduleDt,
            Boolean finish, Date clockInDate, @NotNull Date createdDt,
            @NotNull Date updatedDt) {
        this.id = id;
        this.rid = rid;
        this.oid = oid;
        this.hid = hid;
        this.scheduleWeekNum = scheduleWeekNum;
        this.scheduleDt = scheduleDt;
        this.finish = finish;
        this.clockInDate = clockInDate;
        this.createdDt = createdDt;
        this.updatedDt = updatedDt;
    }
    @Generated(hash = 100903037)
    public HabitEvent() {
    }
    public Long getId() {
        return this.id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Long getRid() {
        return this.rid;
    }
    public void setRid(Long rid) {
        this.rid = rid;
    }
    public Long getOid() {
        return this.oid;
    }
    public void setOid(Long oid) {
        this.oid = oid;
    }
    public Long getHid() {
        return this.hid;
    }
    public void setHid(Long hid) {
        this.hid = hid;
    }
    public Integer getScheduleWeekNum() {
        return this.scheduleWeekNum;
    }
    public void setScheduleWeekNum(Integer scheduleWeekNum) {
        this.scheduleWeekNum = scheduleWeekNum;
    }
    public Date getScheduleDt() {
        return this.scheduleDt;
    }
    public void setScheduleDt(Date scheduleDt) {
        this.scheduleDt = scheduleDt;
    }
    public Boolean getFinish() {
        return this.finish;
    }
    public void setFinish(Boolean finish) {
        this.finish = finish;
    }
    public Date getClockInDate() {
        return this.clockInDate;
    }
    public void setClockInDate(Date clockInDate) {
        this.clockInDate = clockInDate;
    }
    public Date getCreatedDt() {
        return this.createdDt;
    }
    public void setCreatedDt(Date createdDt) {
        this.createdDt = createdDt;
    }
    public Date getUpdatedDt() {
        return this.updatedDt;
    }
    public void setUpdatedDt(Date updatedDt) {
        this.updatedDt = updatedDt;
    }

}
